;(function($){
	if($('#inactiveUserId').val()){
		location.href=location.href.replace('/login?', '/register?');
	}
	
	$('#glodon_fwd_dlg').modal({
		keyboard: true,
		show: false,
		backdrop: "static"
	}).on('show', function(){
		setTimeout(function(){
			$('#resetEmail').select();
		}, 300);
	});
	
	var login = {
		showErrorMsg : function(msg, el){
			$('#error-msg').text(msg).css('visibility', 'visible');
			el.parents(".control-group").addClass("error");
		},
		
		init : function(){
			var self = this;
			
        	var userName = $("#userName_str"),
        	checkAccountName = function(accountName){
        		accountName.val($.trim(accountName.val()));
        		if(/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(accountName.val()) || /^\d{11}$/.test(accountName.val())){
        			return true;
        		}
        		return false;
        	}
			$("#glodon_submit a:first").click(function(event){
				if( !$("#userName_str").val() || !$("#password_str").val()){
					if( !$("#userName_str").val() ){
						self.showErrorMsg('请输入账号', userName);
						userName.focus();
					}else if(!checkAccountName(userName)){
						self.showErrorMsg('请输入正确的账号', userName);
						userName.select();
					}else if( !$("#password_str").val() ){
						self.showErrorMsg('请输入登录密码', $("#password_str"));
						$("#password_str").focus();
					}
					return false;
				}else if($("#userName_str +span").text()){
					userName.focus();
					return false;
				}else{
					$("#glodon_submit a:first").button("loading");
					$("form#glodon_login").submit();
				}
			});
			
			$("#glodon_login_container input").keypress(function(e){
			    if(e.keyCode === 13){
			        $("#glodon_submit a:first").trigger("click");
			    }
			});
			
			$("#glodon_login input").change(function(){
				$(this).parents(".control-group").removeClass("error");
			});
			
			if($("#glodon_login_error").hasClass("login_error")){
				self.showErrorMsg('用户名密码不匹配',userName);
			}
			
			$(".fPassword").click(function(e){
			    e.preventDefault();
			    $("#resetFormMsg").empty();
			    $("#email_success").hide();
        	    $("#sendEmail").show();
			})
			
			$("#resetForm button[type='submit']").click(function(e){
			    e.preventDefault();
			    if( !checkAccountName($("#resetEmail"))){
			        $("#resetEmail").parents(".control-group").addClass("error");
			    }else{
			        $("#mask").show();
			        $("#resetForm").ajaxSubmit({
        				url:"/account/emailResetPasswordLink.json",
        				type:"post",
        				success : function(data){
        				    $("#mask").hide();
    				        $("#email_success").show();
    				        $("#sendEmail").hide();
        				},
        				error : function(rep)
        				{
        				    $("#resetFormMsg").html($("#resetFormMsg").attr("data-msg")).css({color:"red"});
        				    $("#mask").hide();
        				}
        			});
			    }
			});
			$("#resetEmail").change(function(){
			    $(this).parents(".control-group").removeClass("error");
			});
			
			$("#forPWD input").change(function(){
			    $(this).parents(".control-group").removeClass("error");
			});
			
			$("#forPWD button[type='submit']").click(function(e){
			    e.preventDefault();
			    var flag = true;
				$("#forPWD .glodon_error").each(function(){
					if( $(this).text().trim()){
						$(this).parents(".control-group").addClass("error");
						flag = false;
					}
				});
				
				$("#forPWD input").each(function(){
					if( !$(this).val() ){
						var text = $(this).next().attr('data-msg');
						$(this).parents(".control-group").addClass("error");
						$(this).next().html(text);
						flag = false;
					}
				});
				
			    if( flag ){
			        $("#mask").show();
			        $("#forPWD form").ajaxSubmit({
        				url:"/account/changePassword.json",
        				type:"post",
        				success : function(data){
        				    $("#mask").hide();
        				    if(eval(data.result)){
            				    $("#forPWD").hide(); 
            				    $("#sucPWD").show();
            				    (function jump(count) {    
                                    window.setTimeout(function(){    
                                        count--;    
                                        if(count > 0) {    
                                            $('#count').text( count );    
                                            jump(count);    
                                        } else {    
                                            location.href=window._global["contextPath"];    
                                        }    
                                    }, 1000);    
                                })(parseInt($("#count").text()));   
        				    }else{
        				        $("#forPWD").hide(); 
        				        $("#failPWD").show();
        				        (function jump(count) {    
                                    window.setTimeout(function(){    
                                        count--;    
                                        if(count > 0) {    
                                            $('#fcount').text( count );    
                                            jump(count);    
                                        } else {    
                                            location.href=window._global["contextPath"];    
                                        }    
                                    }, 1000);    
                                })(parseInt($("#fcount").text()));   
        				    }
        				    
        				}
        			});
			    }
			});
		}
	}
	login.init();
})(jQuery);
